// 对于axios 进行二次封装
import axios from 'axios';
//引入进度条
import nprogress from 'nprogress';
//引入样式
import "nprogress/nprogress.css"
// start 进度条开始 done 结束

// 在当前模块中引入store
import store from '@/store'
//1、利用axios对象的一些方法，创建一个axios 实例
const requests = axios.create({
    //配置对象
    baseURL: '/api',
//请求超时时间
    timeout:5000, 
})

// 请求拦截器
requests.interceptors.request.use((config) => {
    //config 配置对象 对象里面有一个属性 很重要，header请求头
    if (store.state.detail.uuid_token) {
        config.headers.userTempId = store.state.detail.uuid_token;
    }
    // 需要携带token 给服务器
    if (store.state.user.token) {
        config.headers.token = store.state.user.token;
    }
   nprogress.start()
    return config;
    
})
//响应拦截器
requests.interceptors.response.use((res) => {
    
    nprogress.done()
    return res.data
}, (error) => {
    return Promise.reject(new Error('false'))
})

export default requests;